$(function () {

    // 获得相对应的class
    var $audio = $("audio");
    var player = new Player($audio);
    var $progressBar = $(".music_progress_bar");
    var $progressLine = $(".music_progress_line");
    var $progressDot = $(".music_progress_dot");
    var progress = Progress($progressBar,$progressLine,$progressDot);
    var lyric;
    // lyric = new Lyric(music.link_lrc);

    progress.progreeClick(function (value) {
        player.musicSeekTo(value);
    });
    progress.progreeMove(function (value) {
        player.musicSeekTo(value);
    });


    // // 音量的进度条
    var $voiceBar = $(".music_voice_bar");
    var $voiceLine = $(".music_voice_line");
    var $voiceDot = $(".music_voice_dot");
    var voiceProgress = Progress($voiceBar,$voiceLine,$voiceDot);

    // voiceProgress.progreeClick(function (value) {
    //     // player.musicVoiceSeekTo(value);
    // });
    // voiceProgress.progreeMove(function (value) {
    //     // player.musicVoiceSeekTo(value);
    // });

    // 0.自定义滚动条
    $(".content_list").mCustomScrollbar({
        theme:"minimal"
        // theme:"rounded-dark"
    });
    //3.加载歌曲列表
    getPlayList();
    function getPlayList() {
        $.ajax({
            url:"./source/musiclist.json",
            dataType:"json",
            success:function (res) {
                player.musicList = res;
                // 3.1 遍历数据，创建每一条音乐
                var $musicList = $(".content_list ul");
                $.each(res,function (index, ele) {
                    var $item = crateMusicItem(index,ele);
                    $musicList.append($item);
                });
                initMuiscInfo(res[0]);
                initMuiscLyricInfo(res[0]);
            },
            error:function (xhr) {
                console.log(xhr.state)
            }
        })
    }
    /*2.初始化歌曲信息*/


    //3.初始化歌词信息
    function initMuiscLyricInfo (music) {
        lyric = new Lyric(music.link_lrc);
        var $lryicContainer = $(".song_lyric");
        //清空上一首歌词
        $lryicContainer.html("");
        // 前面调用了,无需调用两次
        lyric.loadLyric(function () {
            //创建歌词列表
            $.each(lyric.lyrics,function (index, ele) {
                var $item = $("<li>"+ele+"</li>");
                $lryicContainer.append($item);
            })
        });
    }

    function initMuiscInfo(music){
        lyric = new Lyric(music.link_lrc);
        //获取对应的元素
        var $musicImage = $(".song_info img");
        var $musicName = $(".song_info_name a");
        var $musicSinger = $(".song_info_singer a");
        var $musicAblum = $(".song_info_ablum a");
        var $musicProgressName = $(".music_progress_name");
        var $musicProgressTime = $(".music_progress_time");
        var $musicBg= $(".mask_bg");

        // 给获取的元素赋值
        $musicImage.attr("src",music.cover);
        $musicName.text(music.name);
        $musicSinger.text(music.singer);
        $musicAblum.text(music.album);
        $musicProgressName.text(music.name +' / '+music.singer);
        $musicProgressTime.text("00:00"+" / "+music.time);
        $musicBg.css("background","url('"+music.cover+"')");
    }


    // 1监听歌曲的移入移除事件
    // 动态创建的元素 需要事件委托
    $(".content_list").delegate(".list_music","mouseenter",function () {
        //显示子菜单
        //隐藏时长

        // $(".list_menu").fadeIn(100); //会找到所有list_menu不行

        $(this).find(".list_menu").stop().fadeIn(300);
        // find查找后代元素，企业用这个更多，不是children
        $(this).find("#v-show").stop().fadeIn(300);
        $(this).find(".list_time span").hide();
    });
    $(".content_list").delegate(".list_music","mouseleave",function () {
        $(this).find(".list_menu").stop().fadeOut(300);
        // find查找后代元素，企业用这个更多，不是children
        $(this).find("#v-show").stop().hide();
        $(this).find(".list_time span").show();
    });

    // 2.初始化事件监听
    initEvents();
   function initEvents() {
       // 2.监听复选框的点击时间
       $(".content_list").delegate(".list_check","click",function () {
           $(this).toggleClass("list_checked");
       });
       // 3.添加子菜单播放按钮的监听
       var $musicPlay = $(".music_play");
       $(".content_list").delegate(".list_menu_play","click",function () {
           var $item = $(this).parents(".list_music");
           // 3.1切换播放图标
           $(this).toggleClass("list_menu_play2");
           //3.2 复原其他的播放图标
           $item.siblings().find(".list_menu_play").removeClass("list_menu_play2");
           // .siblings() 了解一下

           //3.3 同步底部播放按钮
           if($(this).attr("class").indexOf("list_menu_play2") != -1){
               $musicPlay.addClass("music_play2");
               //让文字高亮
               $item.find("div").css("color","#fff");
               $item.siblings().find("div").css("color","rgba(255,255,255,0.5)");
               // siblings()重点 除了本this之外，设置其他的属性
           }else{
               $musicPlay.removeClass("music_play2");
               //让文字不高亮
               $item.find("div").css("color","rgba(255,255,255,0.5)");
           }
           //3.4切换序号状态
           $item.find(".list_number").toggleClass("list_number2");
           // 排他
           $item.siblings().find(".list_number").removeClass("list_number2");
           // 3.5播放音乐
           player.playerMusic($item.get(0).index,$item.get(0).music);
           //3.6切换歌曲信息
           initMuiscInfo($item.get(0).music);
           //3.7 切换歌词信息
           initMuiscLyricInfo($item.get(0).music);

       });

       // 3.5 下载按钮的事件监听
       var $musicDown = $(".list_menu_down");
       $(".content_list").delegate(".list_menu_down","click",function () {

           var $item = $(this).parents(".list_music");
           //拿到当前的索引
           $(".list_menu_down").attr("href",$item.get(0).music.link_url);

       });

       //4.监听底部控制区域播放按钮点击
       $musicPlay.click(function () {
            //判断播放状态，如果是未播放状态
           if(player.currentIndex == -1){
               // -1 等于未播放,默认播放第一首
               $(".list_music").eq(0).find(".list_menu_play").trigger("click");
           }else{
               //播放过就暂停播放就好
               $(".list_music").eq(player.currentIndex).find(".list_menu_play").trigger("click");
           }
       })
       //5.监听底部控制区域上一首按钮点击
       $(".music_pre").click(function () {
           $(".list_music").eq(player.preIndex()).find(".list_menu_play").trigger("click");

       });
       //6.监听底部控制区域下一首按钮点击
       $(".music_next").click(function () {
           $(".list_music").eq(player.nextIndex()).find(".list_menu_play").trigger("click");
       })
       // 7.事件委托删除的点击
       $(".content_list").delegate(".v-show","click",function () {
           //找到被点击的音乐
           var $item =$(this).parents(".list_music");

           //判断当前删除是否正在播放
           if($item.get(0).index == player.currentIndex){
               $(".music_next").trigger("click");
           }
           $item.remove();
           player.changeMusic($item.get(0).index);

           //重新排序
           $(".list_music").each(function (index, ele) {
               ele.index = index;
               $(ele).find(".list_number").text(index+1);
           })
       })

       //8.监听播放的进度
        player.musicTimeUpdate(function (currentTime, duration, timeStr) {
            //同步时间
            $(".music_progress_time").text(timeStr);
            //同步进度条
            // 计算播放比列
            var value = currentTime / duration * 100;
            // console.log('icon',value);
            progress.setProgress(value);

            // 吴彦祖
            // 实现歌词同步
            // debugger;
            var index = lyric.currentIndex(currentTime);
            var $item = $(".song_lyric li").eq(index);
            $item.addClass("cur");
            $item.siblings().removeClass("cur");

            if(index <=2) return;
            $(".song_lyric").css({
                marginTop:((-index + 2 )*30)
            })
        });
       //9.监听声音按钮的点击
       $(".music_voice_icon").click(function () {
           //声音图标
           console.log("ppp");
           $(this).toggleClass("music_voice_icon2");
           if($(this).attr("class").indexOf("music_voice_icon2") != -1){
               //设置静音
               player.musicVoiceSeekTo(0);
           }else{
               //设置有声音
               player.musicVoiceSeekTo(1);
           }

       })

   }
    // 没有用到添加，我去掉了 <a href=\"javascript:;\" title=\"添加\"></a>\n" +
    // "                      <a href=\"javascript:;\" title=\"分享\"></a>\n" +
    // 定义一个方法创建一条音乐
    function crateMusicItem(index, music) {
        var $item = $("<li class=\"list_music\">\n" +
            "                        <div class=\"list_check \"><i></i></div>\n" +
            "                        <div class=\"list_number \">"+(index+1)+"</div>\n" +
            "                        <div class=\"list_name\">\n" +
            "                            <div class=\"list_sub_name\">"+music.name+"</div>\n" +
            "                            <div class=\"list_menu iMenu\" id=\"iMenu\"  >\n" +
            "                                <a href=\"javascript:;\" title=\"播放\"" +
            "                                          class='list_menu_play' ></a>\n" +
            "                                <a href=\"javascript:;\" download='' title=\"下载\" + class='list_menu_down'></a>\n" +
            "                            </div>\n" +
            "                        </div>\n" +
            "                        <div class=\"list_singer\">"+music.singer+"</div>\n" +
            "                        <div class=\"list_time\">\n" +
            "                            <span>"+music.time+"</span>\n" +
            "                            <a href=\"javascript:;\" title=\"删除\" class=\"v-show\" id=\"v-show\"></a>\n" +
            "                        </div>\n" +
            "                    </li>");
        $item.get(0).index = index;
        $item.get(0).music = music;
        return $item;
    }


    /*X*/

    //切换模式.only
   $(".music_only").click(function () {
      $(".music_only").toggleClass("music_only2");
   });
    //下载
    $(".music_down").click(function () {

    })
});